package com.jianbing.shasha.mapper;

import java.util.List;
import com.jianbing.shasha.domain.ShashaUserInfo;
import com.jianbing.shasha.domain.ShashaUserProcess;

/**
 * shasha项目用户基本信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-06-09
 */
public interface ShashaUserInfoMapper 
{
    /**
     * 查询shasha项目用户基本信息
     * 
     * @param userId shasha项目用户基本信息主键
     * @return shasha项目用户基本信息
     */
    public ShashaUserInfo selectShashaUserInfoByUserId(Long userId);

    /**
     * 查询shasha项目用户基本信息列表
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return shasha项目用户基本信息集合
     */
    public List<ShashaUserInfo> selectShashaUserInfoList(ShashaUserInfo shashaUserInfo);

    /**
     * 新增shasha项目用户基本信息
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return 结果
     */
    public int insertShashaUserInfo(ShashaUserInfo shashaUserInfo);

    /**
     * 修改shasha项目用户基本信息
     * 
     * @param shashaUserInfo shasha项目用户基本信息
     * @return 结果
     */
    public int updateShashaUserInfo(ShashaUserInfo shashaUserInfo);

    /**
     * 删除shasha项目用户基本信息
     * 
     * @param userId shasha项目用户基本信息主键
     * @return 结果
     */
    public int deleteShashaUserInfoByUserId(Long userId);

    /**
     * 批量删除shasha项目用户基本信息
     * 
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteShashaUserInfoByUserIds(Long[] userIds);

    /**
     * 获取用户挑战进度
     *
     * @param userId
     * @return com.jianbing.shasha.domain.ShashaUserInfo
     * @author zheng
     * @create 2024/6/10
     **/
    ShashaUserProcess getProcessByUserId(Long userId);
}
